<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    let hd = { name: "wzy", age: 22 };

    // 对象的原型可以理解为对象的父类

    let arr = ["aa", "bb"];

    console.log(arr.length);

    // obj.hasOwnProperty方法只能查看对象自身，不能查看到原型上的属性
    console.log(arr.hasOwnProperty("length"));
    console.log(arr.hasOwnProperty("concat"));

    // 如果想要检测自身以及原型上是否包含某个属性可以使用 in
    console.log("length" in arr);
    console.log("concat" in arr);

    console.log("====================");

    let son = { name: "儿子" };
    let parent = { car: "880" };

    Object.setPrototypeOf(son, parent);
    console.log(son);

    // 判断儿子是否有car
    console.log(son.hasOwnProperty("car"));
    // 儿子的原型上有car
    console.log("car" in son);

    // demo 上传案例
    function oss(options) {
      if (!options.hasOwnProperty("host")) {
        throw new Error("必须设置地址才可上传");
      }
    }
    oss({ user: "admin" });
  </script>
</html>
